//
//  ITBaseTipView.h
//  InTube
//
//  Created by seven on 2019/11/1.
//  Copyright © 2019 seven. All rights reserved.
//

#import "BaseView.h"

NS_ASSUME_NONNULL_BEGIN

@interface ITBaseTipView : BaseView

@property(nonatomic, strong) id model;

@property(nonatomic, assign) NSTimeInterval timestamp;

@property(nonatomic, assign) BOOL isRequesting;
@property(nonatomic, assign) BOOL stayWhenHide;
@property(nonatomic, assign) CGFloat animationTime;

@property(nonatomic, assign) BOOL isPreview;

+ (instancetype)viewWithModel:(id _Nullable)model frame:(CGRect)frame action:(CustomAction)action;

+ (instancetype)showWithAction:(CustomAction)action;

+ (instancetype)showInView:(UIView *)view frame:(CGRect)frame withAction:(CustomAction)action;

- (void)showInView:(UIView *)view;
- (void)showInView:(UIView *)view hideAfter:(int)time;

- (void)showAnimation;
- (void)showChanged;

- (void)hideAnimation;
- (void)hideChanged;

- (void)hideAfter:(int)time;

- (void)updateViews;

- (BOOL)canAutoHide;


#pragma mark - fullScreen
IT_PROPERTY_ASSIGN BOOL fullScreen;
- (void)updateFullScreen;

@end

NS_ASSUME_NONNULL_END
